package com.zyp.jobseeker.service;

import com.zyp.jobseeker.entity.Interview;
import com.github.pagehelper.PageInfo;
import java.util.Map;

/**
 * 面试邀请服务接口
 */
public interface InterviewService {
    /**
     * 企业主动邀请学生面试
     * @param interview 面试邀请信息
     * @return 面试邀请结果
     */
    Map<String, Object> createInterviewInvitation(Interview interview);

    /**
     * 查询学生收到的面试邀请
     * @param studentId 学生ID
     * @param status 邀请状态
     * @param page 页码
     * @param size 每页数量
     * @return 分页结果
     */
    PageInfo<Map<String, Object>> getInterviewsByStudent(
            Long studentId, Integer status, int page, int size);

    /**
     * 查询企业发出的面试邀请
     * @param enterpriseId 企业ID
     * @param status 邀请状态
     * @param page 页码
     * @param size 每页数量
     * @return 分页结果
     */
    PageInfo<Map<String, Object>> getInterviewsByEnterprise(
            Long enterpriseId, Integer status, int page, int size);

    /**
     * 学生接受面试邀请
     * @param id 面试邀请ID
     * @param studentId 学生ID
     * @return 操作结果
     */
    Map<String, Object> acceptInterview(Long id, Long studentId);

    /**
     * 学生拒绝面试邀请
     * @param id 面试邀请ID
     * @param studentId 学生ID
     * @return 操作结果
     */
    Map<String, Object> rejectInterview(Long id, Long studentId);
}
